<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>emaclite: Emaclite_v4_1</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">emaclite
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Emaclite_v4_1</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga5a02b0090a1bab8c4151fb3154e9fa0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga5a02b0090a1bab8c4151fb3154e9fa0f">XEmacLite_NextTransmitAddr</a>(InstancePtr)</td></tr>
<tr class="separator:ga5a02b0090a1bab8c4151fb3154e9fa0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga541b8f45d82969dc9b9116420bfdb1c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga541b8f45d82969dc9b9116420bfdb1c3">XEmacLite_NextReceiveAddr</a>(InstancePtr)</td></tr>
<tr class="separator:ga541b8f45d82969dc9b9116420bfdb1c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabbc302961b99a3f92f553c08549a92b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaabbc302961b99a3f92f553c08549a92b">XEmacLite_IsMdioConfigured</a>(InstancePtr)&#160;&#160;&#160;((InstancePtr)-&gt;EmacLiteConfig.MdioInclude == 1)</td></tr>
<tr class="separator:gaabbc302961b99a3f92f553c08549a92b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7c326fd248dbfd0e82513810febeee9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gab7c326fd248dbfd0e82513810febeee9">XEmacLite_IsLoopbackConfigured</a>(InstancePtr)&#160;&#160;&#160;((InstancePtr)-&gt;EmacLiteConfig.Loopback == 1)</td></tr>
<tr class="separator:gab7c326fd248dbfd0e82513810febeee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf11b44ee01064cec9edddba6ad0673c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaf11b44ee01064cec9edddba6ad0673c4">XEmacLite_GetTxActive</a>(BaseAddress)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>))</td></tr>
<tr class="separator:gaf11b44ee01064cec9edddba6ad0673c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga706f363fc35b30595205ded0050a61a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga706f363fc35b30595205ded0050a61a6">XEmacLite_SetTxActive</a>(BaseAddress,  Mask)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, (Mask)))</td></tr>
<tr class="separator:ga706f363fc35b30595205ded0050a61a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4dbb708d2fea4f6a716bcf9eb0aaad66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a>&#160;&#160;&#160;(0x00000000)</td></tr>
<tr class="separator:ga4dbb708d2fea4f6a716bcf9eb0aaad66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga393f8f9201b56413c228479a3ea976e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga393f8f9201b56413c228479a3ea976e5">XEL_MDIO_ADDRESS_MASK</a>&#160;&#160;&#160;0x00003E0</td></tr>
<tr class="separator:ga393f8f9201b56413c228479a3ea976e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fc563b497e92261fb7f28db720324a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga4fc563b497e92261fb7f28db720324a6">XEL_MDIOCNTR_STATUS_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="separator:ga4fc563b497e92261fb7f28db720324a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5179e9952743fd9ea3056822ffe0df7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga5179e9952743fd9ea3056822ffe0df7d">XEL_GIER_GIE_MASK</a>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="separator:ga5179e9952743fd9ea3056822ffe0df7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe750109f58b44cdf7c7e505c9d1acdc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="separator:gabe750109f58b44cdf7c7e505c9d1acdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d037dc424649948806dad6dd9b43430"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga2d037dc424649948806dad6dd9b43430">XEL_TSR_XMIT_ACTIVE_MASK</a>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="separator:ga2d037dc424649948806dad6dd9b43430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a9410492eec5f7865b664f1e4255d7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">XEL_RSR_RECV_DONE_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="separator:ga5a9410492eec5f7865b664f1e4255d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12db7f4b53a73982fe53fb8b3c2648a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga12db7f4b53a73982fe53fb8b3c2648a9">XEL_TPLR_LENGTH_MASK_HI</a>&#160;&#160;&#160;0x0000FF00</td></tr>
<tr class="separator:ga12db7f4b53a73982fe53fb8b3c2648a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga766d628aef5fa10427ea2265dcc40e99"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga766d628aef5fa10427ea2265dcc40e99">XEL_RPLR_LENGTH_MASK_HI</a>&#160;&#160;&#160;0x0000FF00</td></tr>
<tr class="separator:ga766d628aef5fa10427ea2265dcc40e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1242a868f45e27bd21e802f37ccc56cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XEmacLite_In32((BaseAddress) + (RegOffset))</td></tr>
<tr class="separator:ga1242a868f45e27bd21e802f37ccc56cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96be859f6762b5de8817367548561035"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>(BaseAddress,  RegOffset,  RegisterValue)&#160;&#160;&#160;XEmacLite_Out32((BaseAddress) + (RegOffset), (RegisterValue))</td></tr>
<tr class="separator:ga96be859f6762b5de8817367548561035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad66fc12c63bb5e0a63289f63fa9d5e41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>(BaseAddress)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>))</td></tr>
<tr class="separator:gad66fc12c63bb5e0a63289f63fa9d5e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3bf9219fa76c0f1c10a7ebd4a64d3b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>(BaseAddress,  Data)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, (Data)))</td></tr>
<tr class="separator:gae3bf9219fa76c0f1c10a7ebd4a64d3b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19bae7ed135f7a70afb3b35192894d98"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>(BaseAddress)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a>))</td></tr>
<tr class="separator:ga19bae7ed135f7a70afb3b35192894d98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga837e05318ed150dbf8128e82113565c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>(BaseAddress,  Data)&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a>, (Data)))</td></tr>
<tr class="separator:ga837e05318ed150dbf8128e82113565c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cad275766e931c598f5961d3e8bac47"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga8cad275766e931c598f5961d3e8bac47">XEmacLite_IsTxDone</a>(BaseAddress)</td></tr>
<tr class="separator:ga8cad275766e931c598f5961d3e8bac47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a23682af6087a70133d7f4fec504787"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga0a23682af6087a70133d7f4fec504787">XEmacLite_IsRxEmpty</a>(BaseAddress)</td></tr>
<tr class="separator:ga0a23682af6087a70133d7f4fec504787"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga24330d0e9ca51b8e9cd097ca4b870e91"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, <a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> *EmacLiteConfigPtr, u32 EffectiveAddr)</td></tr>
<tr class="separator:ga24330d0e9ca51b8e9cd097ca4b870e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa509977aea023dfeef6bddb10b2597dc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u8 *FramePtr, unsigned ByteCount)</td></tr>
<tr class="separator:gaa509977aea023dfeef6bddb10b2597dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b771b95e193baa02186c6e106c7aefb"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u8 *FramePtr)</td></tr>
<tr class="separator:ga6b771b95e193baa02186c6e106c7aefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf404b645896f5fb74e87b4ada362809"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u8 *AddressPtr)</td></tr>
<tr class="separator:gaaf404b645896f5fb74e87b4ada362809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98577fb052d9327b2c5ed429d3740b97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga98577fb052d9327b2c5ed429d3740b97">StubHandler</a> (void *CallBackRef)</td></tr>
<tr class="separator:ga98577fb052d9327b2c5ed429d3740b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f75e1a5a0b8d0e5e085880919ad693a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga3f75e1a5a0b8d0e5e085880919ad693a">XEmacLite_TxBufferAvailable</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:ga3f75e1a5a0b8d0e5e085880919ad693a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7ced3b39bd2f06d037660e884c0706b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gae7ced3b39bd2f06d037660e884c0706b">XEmacLite_FlushReceive</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:gae7ced3b39bd2f06d037660e884c0706b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga444ab091bdc373bf2e1a266d5febecd0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u32 PhyAddress, u32 RegNum, u16 *PhyDataPtr)</td></tr>
<tr class="separator:ga444ab091bdc373bf2e1a266d5febecd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63ef92abf534fcf6f41601e93efa4cc7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u32 PhyAddress, u32 RegNum, u16 PhyData)</td></tr>
<tr class="separator:ga63ef92abf534fcf6f41601e93efa4cc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bd8c7361add009208f4c6778644a83c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga1bd8c7361add009208f4c6778644a83c">XEmacLite_EnableLoopBack</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:ga1bd8c7361add009208f4c6778644a83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55c4a0b58c4e35dbf81c4866946f368a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga55c4a0b58c4e35dbf81c4866946f368a">XEmacLite_DisableLoopBack</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:ga55c4a0b58c4e35dbf81c4866946f368a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cf5dd9f60336f05a30a7684319a2b1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga9cf5dd9f60336f05a30a7684319a2b1e">XEmacLite_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="separator:ga9cf5dd9f60336f05a30a7684319a2b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0c3a796e557b59a64a61a9b486a323e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaf0c3a796e557b59a64a61a9b486a323e">XEmacLite_Initialize</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, u16 DeviceId)</td></tr>
<tr class="separator:gaf0c3a796e557b59a64a61a9b486a323e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28a0b4547f8b9b8eb675123df8ab8907"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:ga28a0b4547f8b9b8eb675123df8ab8907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacac27172503eee6a171afe1679c20f2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:gacac27172503eee6a171afe1679c20f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72db0e7e81077c3ad3947009a5299fdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler</a> (void *InstancePtr)</td></tr>
<tr class="separator:ga72db0e7e81077c3ad3947009a5299fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5bacfdd394bc95a6b34dec438bfad8bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga5bacfdd394bc95a6b34dec438bfad8bf">XEmacLite_SetRecvHandler</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, void *CallBackRef, XEmacLite_Handler FuncPtr)</td></tr>
<tr class="separator:ga5bacfdd394bc95a6b34dec438bfad8bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e48d33c6b41774f4cb37bffc85f59a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga2e48d33c6b41774f4cb37bffc85f59a1">XEmacLite_SetSendHandler</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr, void *CallBackRef, XEmacLite_Handler FuncPtr)</td></tr>
<tr class="separator:ga2e48d33c6b41774f4cb37bffc85f59a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ea2a0f4e13ef174477a3cf2a9f86e69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest</a> (<a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *InstancePtr)</td></tr>
<tr class="separator:ga0ea2a0f4e13ef174477a3cf2a9f86e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f5ceceeb7c8a8faf2c835caf10a5125"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga3f5ceceeb7c8a8faf2c835caf10a5125">XEmacLite_AlignedWrite</a> (void *SrcPtr, u32 *DestPtr, unsigned ByteCount)</td></tr>
<tr class="separator:ga3f5ceceeb7c8a8faf2c835caf10a5125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c90fdf366af4a8d7c3f4571c504d475"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga4c90fdf366af4a8d7c3f4571c504d475">XEmacLite_AlignedRead</a> (u32 *SrcPtr, void *DestPtr, unsigned ByteCount)</td></tr>
<tr class="separator:ga4c90fdf366af4a8d7c3f4571c504d475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11311f9b348df8ea830c4e0fb2667df7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame</a> (u32 BaseAddress, u8 *FramePtr, unsigned ByteCount)</td></tr>
<tr class="separator:ga11311f9b348df8ea830c4e0fb2667df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed49aafa6ebc9a3231ea62a50a5994bc"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame</a> (u32 BaseAddress, u8 *FramePtr)</td></tr>
<tr class="separator:gaed49aafa6ebc9a3231ea62a50a5994bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gad754bca8cbc8acdf979b885fc3950bac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_ARP_PACKET_SIZE&#160;&#160;&#160;28</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Max ARP packet size. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8f89271d7db92918eb1478566e922fce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_BUFFER_OFFSET&#160;&#160;&#160;(0x00000800)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Next buffer's offset same for both TX and RX. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize()</a>, <a class="el" href="group__emaclite__v4__1.html#gae7ced3b39bd2f06d037660e884c0706b">XEmacLite_FlushReceive()</a>, <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, <a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga3f75e1a5a0b8d0e5e085880919ad693a">XEmacLite_TxBufferAvailable()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2bc168ac37d2722b7a7d09dd68f2c2c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_ETHER_PROTO_TYPE_ARP&#160;&#160;&#160;0x0806</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>ARP Protocol. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="gadd10850a396aefec8cb1b22fff3cd62b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_ETHER_PROTO_TYPE_IP&#160;&#160;&#160;0x0800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>IP Protocol. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga640b8f756ad251d40c9976f1f2237029"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_ETHER_PROTO_TYPE_VLAN&#160;&#160;&#160;0x8100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>VLAN Tagged. </p>

</div>
</div>
<a class="anchor" id="ga8a4567a704724d25d4ddbeed59578cc9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_FCS_SIZE&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Size of CRC. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5179e9952743fd9ea3056822ffe0df7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_GIER_GIE_MASK&#160;&#160;&#160;0x80000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Global Interrupt Enable Register (GIER) Bit Masks. </p>
<p>Global Enable </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>.</p>

</div>
</div>
<a class="anchor" id="gae8b93ba79e75324605f0b3f4d760fbdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_GIER_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07F8)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Offset for the GIE Register. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>.</p>

</div>
</div>
<a class="anchor" id="ga04dcdc4442b4c27ce924d5678a5bf872"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_HEADER_IP_LENGTH_OFFSET&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>IP Length Offset. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9ba60e869445837df2e23ccaf59c5a0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_HEADER_OFFSET&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Offset to length field. </p>

</div>
</div>
<a class="anchor" id="ga24da5eeb80edf023bfe5385019770ea7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_HEADER_SHIFT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Right shift value to align length. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="gace93038c04a45e17a8be70f058bbf9da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_HEADER_SIZE&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Size of header in bytes. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ccc893b8efdefc7409c03c99c7719a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MAC_ADDR_SIZE&#160;&#160;&#160;6</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>length of MAC address </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga18d1878c22f2d4332814e0d5ca8e8881"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MAC_HI_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x14)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MAC address hi offset. </p>

</div>
</div>
<a class="anchor" id="ga6ac8f2cd8c3d00d23d93f31d4db91e1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MAC_LO_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MAC address lo offset. </p>

</div>
</div>
<a class="anchor" id="ga0efb69007c897a0f35a57c9e50fdb469"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MAX_FRAME_SIZE&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#gace93038c04a45e17a8be70f058bbf9da">XEL_HEADER_SIZE</a>+<a class="el" href="group__emaclite__v4__1.html#ga41c8fc68a64b6dfb418a1ac824cc9151">XEL_MTU_SIZE</a>+ <a class="el" href="group__emaclite__v4__1.html#ga8a4567a704724d25d4ddbeed59578cc9">XEL_FCS_SIZE</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Max length of Rx frame used if length/type field contains the type (&gt; 1500) </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="gad1e5b828ffb7ae505719dd4f2f07bf39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MAX_TX_FRAME_SIZE&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#gace93038c04a45e17a8be70f058bbf9da">XEL_HEADER_SIZE</a> + <a class="el" href="group__emaclite__v4__1.html#ga41c8fc68a64b6dfb418a1ac824cc9151">XEL_MTU_SIZE</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Max length of Tx frame. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>.</p>

</div>
</div>
<a class="anchor" id="ga393f8f9201b56413c228479a3ea976e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIO_ADDRESS_MASK&#160;&#160;&#160;0x00003E0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO Address/Write Data/Read Data Register Bit Masks. </p>
<p>PHY Address mask </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8dd2a4a8aeb4515fed5c9e2832b69676"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIO_ADDRESS_SHIFT&#160;&#160;&#160;0x5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>PHY Address shift. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gacd225e0c171bdd9f2e8fb2ca18fbc34c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIO_OP_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>PHY read access. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga507cf8cc16828061ef6fea447f5c1e44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIOADDR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07E4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO Address offset register. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga62d3b9b889e7b69c4f216bb7825ee77e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIOCNTR_ENABLE_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO Enable. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gab18c59ba42e1b6aeb51a9bcf80f1436e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIOCNTR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07F0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO Control Register offset. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4fc563b497e92261fb7f28db720324a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIOCNTR_STATUS_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO Control Register Bit Masks. </p>
<p>MDIO transfer in Progress </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga89bf4abeb9407e4c7092c19c9f4b4e7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIORD_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07EC)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO read data register offset. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>.</p>

</div>
</div>
<a class="anchor" id="ga396812830267b25dfdaebd81f95ff00c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MDIOWR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07E8)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>MDIO write data register offset. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga41c8fc68a64b6dfb418a1ac824cc9151"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_MTU_SIZE&#160;&#160;&#160;1500</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Max size of data in frame. </p>

</div>
</div>
<a class="anchor" id="ga766d628aef5fa10427ea2265dcc40e99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RPLR_LENGTH_MASK_HI&#160;&#160;&#160;0x0000FF00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Receive Packet Length Register (RPLR) </p>
<p>Receive packet length upper byte </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga688796d3e80699fb776e3bde91a8d376"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RPLR_LENGTH_MASK_LO&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Receive packet length lower byte. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga344295838c9356aa4f264f2e1eedf050"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RPLR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#gae1278a34e211f3868d5043424c9a725a">XEL_RXBUFF_OFFSET</a> + 0x0C)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Rx packet length. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c6a339b5bf171c55b8d3ff6b758d397"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RSR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#gae1278a34e211f3868d5043424c9a725a">XEL_RXBUFF_OFFSET</a> + 0x07FC)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Rx status. </p>

</div>
</div>
<a class="anchor" id="ga5a9410492eec5f7865b664f1e4255d7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RSR_RECV_DONE_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Receive Status Register (RSR) </p>
<p>Recv complete </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7cc4cab2536c294d4e715310fe3fbdf0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RSR_RECV_IE_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Recv interrupt enable bit. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, and <a class="el" href="group__emaclite__v4__1.html#gae7ced3b39bd2f06d037660e884c0706b">XEmacLite_FlushReceive()</a>.</p>

</div>
</div>
<a class="anchor" id="gae1278a34e211f3868d5043424c9a725a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_RXBUFF_OFFSET&#160;&#160;&#160;(0x00001000)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Receive Buffer. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga12db7f4b53a73982fe53fb8b3c2648a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TPLR_LENGTH_MASK_HI&#160;&#160;&#160;0x0000FF00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Transmit Packet Length Register (TPLR) </p>
<p>Transmit packet length upper byte </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="gad57d19d58d348bd0c1d7715bad6a7e98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TPLR_LENGTH_MASK_LO&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Transmit packet length lower byte. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="gac1b03025a5b44d67224bbe94e5c3eaa2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TPLR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07F4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Tx packet length. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9a758ea7a896175023c52bd55dc36700"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_LOOPBACK_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Loop back enable bit. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga55c4a0b58c4e35dbf81c4866946f368a">XEmacLite_DisableLoopBack()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga1bd8c7361add009208f4c6778644a83c">XEmacLite_EnableLoopBack()</a>.</p>

</div>
</div>
<a class="anchor" id="ga45c15f0ba6b3ef9849abfb63e47ea692"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_OFFSET&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a> + 0x07FC)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Tx status. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize()</a>, <a class="el" href="group__emaclite__v4__1.html#ga55c4a0b58c4e35dbf81c4866946f368a">XEmacLite_DisableLoopBack()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga1bd8c7361add009208f4c6778644a83c">XEmacLite_EnableLoopBack()</a>.</p>

</div>
</div>
<a class="anchor" id="gae7c6d9dbf7029d564d5eb7c375025485"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_PROG_MAC_ADDR&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a> | <a class="el" href="group__emaclite__v4__1.html#ga3d2433cda1ae6007050299464de9ec25">XEL_TSR_PROGRAM_MASK</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>define for programming the MAC address into the EmacLite </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d2433cda1ae6007050299464de9ec25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_PROGRAM_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Program the MAC address. </p>

</div>
</div>
<a class="anchor" id="ga2d037dc424649948806dad6dd9b43430"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_XMIT_ACTIVE_MASK&#160;&#160;&#160;0x80000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Buffer is active, SW bit only. </p>
<p>This is not documented in the HW spec </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga3f75e1a5a0b8d0e5e085880919ad693a">XEmacLite_TxBufferAvailable()</a>.</p>

</div>
</div>
<a class="anchor" id="gabe750109f58b44cdf7c7e505c9d1acdc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_XMIT_BUSY_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Transmit Status Register (TSR) Bit Masks. </p>
<p>Xmit complete </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga3f75e1a5a0b8d0e5e085880919ad693a">XEmacLite_TxBufferAvailable()</a>.</p>

</div>
</div>
<a class="anchor" id="ga648d492605893da2556845d8f0cb3dcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TSR_XMIT_IE_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Xmit interrupt enable bit. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4dbb708d2fea4f6a716bcf9eb0aaad66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_TXBUFF_OFFSET&#160;&#160;&#160;(0x00000000)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Register offsets for the Ethernet MAC. </p>
<p>Transmit Buffer </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="gacdfcd5a1a11b18e51012fecd6dc9eade"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEL_VLAN_TAG_SIZE&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>VLAN Tag Size. </p>

</div>
</div>
<a class="anchor" id="ga19bae7ed135f7a70afb3b35192894d98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_GetRxStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Get the Rx Status Register Contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The contents of the Rx Status Register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98" title="Get the Rx Status Register Contents. ">XEmacLite_GetRxStatus(u32 BaseAddress)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#gae7ced3b39bd2f06d037660e884c0706b">XEmacLite_FlushReceive()</a>, <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf11b44ee01064cec9edddba6ad0673c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_GetTxActive</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__i_8h.html">xemaclite_i.h</a>&gt;</code></p>

<p>Get the TX active location to check status. </p>
<p>This is used to check if the TX buffer is currently active. There isn't any way in the hardware to implement this but the register is fully populated so the driver can set the bit in the send routine and the ISR can clear the bit when the handler is complete. This mimics the correct operation of the hardware if it was possible to do this in hardware.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Contents of active bit in register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#gaf11b44ee01064cec9edddba6ad0673c4" title="Get the TX active location to check status. ">XEmacLite_GetTxActive(u32 BaseAddress)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad66fc12c63bb5e0a63289f63fa9d5e41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_GetTxStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Get the Tx Status Register Contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The contents of the Tx Status Register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41" title="Get the Tx Status Register Contents. ">XEmacLite_GetTxStatus(u32 BaseAddress)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga3f75e1a5a0b8d0e5e085880919ad693a">XEmacLite_TxBufferAvailable()</a>.</p>

</div>
</div>
<a class="anchor" id="gab7c326fd248dbfd0e82513810febeee9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_IsLoopbackConfigured</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;((InstancePtr)-&gt;EmacLiteConfig.Loopback == 1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>This macro determines if the device is currently configured for internal loopback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the EmacLite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the device is configured for internal loopback.</li>
</ul>
</dd></dl>
<ul>
<li>FALSE if the device is NOT configured for internal loopback.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: int <a class="el" href="group__emaclite__v4__1.html#gab7c326fd248dbfd0e82513810febeee9" title="This macro determines if the device is currently configured for internal loopback. ">XEmacLite_IsLoopbackConfigured(XEmacLite *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaabbc302961b99a3f92f553c08549a92b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_IsMdioConfigured</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;((InstancePtr)-&gt;EmacLiteConfig.MdioInclude == 1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>This macro determines if the device is currently configured for MDIO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the EmacLite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the device is configured for MDIO.</li>
</ul>
</dd></dl>
<ul>
<li>FALSE if the device is NOT configured for MDIO.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: int <a class="el" href="group__emaclite__v4__1.html#gaabbc302961b99a3f92f553c08549a92b" title="This macro determines if the device is currently configured for MDIO. ">XEmacLite_IsMdioConfigured(XEmacLite *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0a23682af6087a70133d7f4fec504787"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_IsRxEmpty</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="code" href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a>) &amp; <a class="code" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">\</a></div>
<div class="line"><a class="code" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">			XEL_RSR_RECV_DONE_MASK</a>) != <a class="code" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">XEL_RSR_RECV_DONE_MASK</a>)</div>
<div class="ttc" id="group__emaclite__v4__1_html_ga0c6a339b5bf171c55b8d3ff6b758d397"><div class="ttname"><a href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a></div><div class="ttdeci">#define XEL_RSR_OFFSET</div><div class="ttdoc">Rx status. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:117</div></div>
<div class="ttc" id="group__emaclite__v4__1_html_ga5a9410492eec5f7865b664f1e4255d7b"><div class="ttname"><a href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">XEL_RSR_RECV_DONE_MASK</a></div><div class="ttdeci">#define XEL_RSR_RECV_DONE_MASK</div><div class="ttdoc">Receive Status Register (RSR) </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:181</div></div>
<div class="ttc" id="group__emaclite__v4__1_html_ga1242a868f45e27bd21e802f37ccc56cc"><div class="ttname"><a href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a></div><div class="ttdeci">#define XEmacLite_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read from the specified EmacLite device register. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:262</div></div>
</div><!-- fragment -->
<p>Check to see if the receive is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if it is empty, or FALSE if it is not.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: int <a class="el" href="group__emaclite__v4__1.html#ga0a23682af6087a70133d7f4fec504787" title="Check to see if the receive is empty. ">XEmacLite_IsRxEmpty(u32 BaseAddress)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8cad275766e931c598f5961d3e8bac47"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_IsTxDone</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>((BaseAddress), <a class="code" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>) &amp;     <a class="code" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">\</a></div>
<div class="line"><a class="code" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">			 XEL_TSR_XMIT_BUSY_MASK</a>) != <a class="code" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>)</div>
<div class="ttc" id="group__emaclite__v4__1_html_ga45c15f0ba6b3ef9849abfb63e47ea692"><div class="ttname"><a href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a></div><div class="ttdeci">#define XEL_TSR_OFFSET</div><div class="ttdoc">Tx status. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:113</div></div>
<div class="ttc" id="group__emaclite__v4__1_html_ga1242a868f45e27bd21e802f37ccc56cc"><div class="ttname"><a href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a></div><div class="ttdeci">#define XEmacLite_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read from the specified EmacLite device register. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:262</div></div>
<div class="ttc" id="group__emaclite__v4__1_html_gabe750109f58b44cdf7c7e505c9d1acdc"><div class="ttname"><a href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a></div><div class="ttdeci">#define XEL_TSR_XMIT_BUSY_MASK</div><div class="ttdoc">Transmit Status Register (TSR) Bit Masks. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:155</div></div>
</div><!-- fragment -->
<p>Check to see if the transmission is complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if it is done, or FALSE if it is not.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: int <a class="el" href="group__emaclite__v4__1.html#ga8cad275766e931c598f5961d3e8bac47" title="Check to see if the transmission is complete. ">XEmacLite_IsTxDone(u32 BaseAddress)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga541b8f45d82969dc9b9116420bfdb1c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_NextReceiveAddr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((InstancePtr)-&gt;EmacLiteConfig.BaseAddress +                    \</div>
<div class="line">        (InstancePtr)-&gt;NextRxBufferToUse)</div>
</div><!-- fragment -->
<p>Return the next expected Receive Buffer's address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver to be worked on</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#ga541b8f45d82969dc9b9116420bfdb1c3" title="Return the next expected Receive Buffer&#39;s address. ">XEmacLite_NextReceiveAddr(XEmacLite *InstancePtr)</a>;</dd></dl>
<p>This macro returns the address of the next receive buffer to read data from. This is the expected receive buffer address if the driver is in sync. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5a02b0090a1bab8c4151fb3154e9fa0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_NextTransmitAddr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((InstancePtr)-&gt;EmacLiteConfig.BaseAddress +                    \</div>
<div class="line">                (InstancePtr)-&gt;NextTxBufferToUse) + <a class="code" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a></div>
<div class="ttc" id="group__emaclite__v4__1_html_ga4dbb708d2fea4f6a716bcf9eb0aaad66"><div class="ttname"><a href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a></div><div class="ttdeci">#define XEL_TXBUFF_OFFSET</div><div class="ttdoc">Register offsets for the Ethernet MAC. </div><div class="ttdef"><b>Definition:</b> xemaclite_l.h:97</div></div>
</div><!-- fragment -->
<p>Return the next expected Transmit Buffer's address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver to be worked on</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#ga5a02b0090a1bab8c4151fb3154e9fa0f" title="Return the next expected Transmit Buffer&#39;s address. ">XEmacLite_NextTransmitAddr(XEmacLite *InstancePtr)</a>;</dd></dl>
<p>This macro returns the address of the next transmit buffer to put data into. This is used to determine the destination of the next transmit data frame. </p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1242a868f45e27bd21e802f37ccc56cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XEmacLite_In32((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Read from the specified EmacLite device register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to select the specific register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc" title="Read from the specified EmacLite device register. ">XEmacLite_ReadReg(u32 BaseAddress, u32 RegOffset)</a>; </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga55c4a0b58c4e35dbf81c4866946f368a">XEmacLite_DisableLoopBack()</a>, <a class="el" href="group__emaclite__v4__1.html#ga1bd8c7361add009208f4c6778644a83c">XEmacLite_EnableLoopBack()</a>, <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>, <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga837e05318ed150dbf8128e82113565c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_SetRxStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga0c6a339b5bf171c55b8d3ff6b758d397">XEL_RSR_OFFSET</a>, (Data)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Set the Rx Status Register Contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the Register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3" title="Set the Rx Status Register Contents. ">XEmacLite_SetRxStatus(u32 BaseAddress, u32 Data)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#gae7ced3b39bd2f06d037660e884c0706b">XEmacLite_FlushReceive()</a>, <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga706f363fc35b30595205ded0050a61a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_SetTxActive</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Mask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, (Mask)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__i_8h.html">xemaclite_i.h</a>&gt;</code></p>

<p>Set the TX active location to update status. </p>
<p>This is used to set the bit indicating which TX buffer is currently active. There isn't any way in the hardware to implement this but the register is fully populated so the driver can set the bit in the send routine and the ISR can clear the bit when the handler is complete. This mimics the correct operation of the hardware if it was possible to do this in hardware.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">Mask</td><td>is the data to be written</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void <a class="el" href="group__emaclite__v4__1.html#ga706f363fc35b30595205ded0050a61a6" title="Set the TX active location to update status. ">XEmacLite_SetTxActive(u32 BaseAddress, u32 Mask)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gae3bf9219fa76c0f1c10a7ebd4a64d3b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_SetTxStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(<a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>((BaseAddress), <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, (Data)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Set the Tx Status Register Contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the Register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8" title="Set the Tx Status Register Contents. ">XEmacLite_SetTxStatus(u32 BaseAddress, u32 Data)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga72db0e7e81077c3ad3947009a5299fdf">XEmacLite_InterruptHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga96be859f6762b5de8817367548561035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XEmacLite_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XEmacLite_Out32((BaseAddress) + (RegOffset), (RegisterValue))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8h.html">xemaclite_l.h</a>&gt;</code></p>

<p>Write to the specified EmacLite device register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to select the specific register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>is the value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XEmacLite_WriteReg(u32 BaseAddress, u32 RegOffset, u32 RegisterValue); </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize()</a>, <a class="el" href="group__emaclite__v4__1.html#gacac27172503eee6a171afe1679c20f2c">XEmacLite_DisableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga55c4a0b58c4e35dbf81c4866946f368a">XEmacLite_DisableLoopBack()</a>, <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>, <a class="el" href="group__emaclite__v4__1.html#ga1bd8c7361add009208f4c6778644a83c">XEmacLite_EnableLoopBack()</a>, <a class="el" href="group__emaclite__v4__1.html#ga444ab091bdc373bf2e1a266d5febecd0">XEmacLite_PhyRead()</a>, <a class="el" href="group__emaclite__v4__1.html#ga63ef92abf534fcf6f41601e93efa4cc7">XEmacLite_PhyWrite()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga98577fb052d9327b2c5ed429d3740b97"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void StubHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>This is a stub for the send and receive callbacks. </p>
<p>The stub is here in case the upper layers forget to set the handlers.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is a pointer to the upper layer callback reference.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga28a0b4547f8b9b8eb675123df8ab8907">XEmacLite_EnableInterrupts()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4c90fdf366af4a8d7c3f4571c504d475"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_AlignedRead </td>
          <td>(</td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>SrcPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>DestPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__i_8h.html">xemaclite_i.h</a>&gt;</code></p>

<p>This function reads from a 32-bit aligned source address range and aligns the writes to the provided destination pointer alignment. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SrcPtr</td><td>is a pointer to incoming data of 32-bit alignment. </td></tr>
    <tr><td class="paramname">DestPtr</td><td>is a pointer to outgoing data of any alignment. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the number of bytes to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga6b771b95e193baa02186c6e106c7aefb">XEmacLite_Recv()</a>, <a class="el" href="group__emaclite__v4__1.html#gaed49aafa6ebc9a3231ea62a50a5994bc">XEmacLite_RecvFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3f5ceceeb7c8a8faf2c835caf10a5125"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_AlignedWrite </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>SrcPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>DestPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__i_8h.html">xemaclite_i.h</a>&gt;</code></p>

<p>This function aligns the incoming data and writes it out to a 32-bit aligned destination address range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SrcPtr</td><td>is a pointer to incoming data of any alignment. </td></tr>
    <tr><td class="paramname">DestPtr</td><td>is a pointer to outgoing data of 32-bit alignment. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the number of bytes to write.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#ga0ea2a0f4e13ef174477a3cf2a9f86e69">XEmacLite_SelfTest()</a>, <a class="el" href="group__emaclite__v4__1.html#gaa509977aea023dfeef6bddb10b2597dc">XEmacLite_Send()</a>, <a class="el" href="group__emaclite__v4__1.html#ga11311f9b348df8ea830c4e0fb2667df7">XEmacLite_SendFrame()</a>, and <a class="el" href="group__emaclite__v4__1.html#gaaf404b645896f5fb74e87b4ada362809">XEmacLite_SetMacAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga24330d0e9ca51b8e9cd097ca4b870e91"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> *&#160;</td>
          <td class="paramname"><em>EmacLiteConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Initialize a specific <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance/driver. </p>
<p>The initialization entails:</p><ul>
<li>Initialize fields of the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance structure.</li>
</ul>
<p>The driver defaults to polled mode operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">EmacLiteConfigPtr</td><td>points to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> device configuration structure. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device base address in the virtual memory address space. If the address translation is not used then the physical address is passed. Unexpected errors may occur if the address mapping is changed after this function is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The initialization of the PHY device is not done in this function. The user needs to use XEmacLite_PhyRead and XEmacLite_PhyWrite functions to access the PHY device. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#a4fa9fdf2dd08f5c1a5bff2ab8f22d053">XEmacLite_Config::DeviceId</a>, <a class="el" href="struct_x_emac_lite___config.html#ab06e53383d33ab049495ae049dd6ed82">XEmacLite_Config::Loopback</a>, <a class="el" href="struct_x_emac_lite___config.html#acc01374bac02bda99089de80985a9821">XEmacLite_Config::MdioInclude</a>, <a class="el" href="struct_x_emac_lite___config.html#ac62308cd76ce383cd4b895d3cb2cc8ed">XEmacLite_Config::RxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga98577fb052d9327b2c5ed429d3740b97">StubHandler()</a>, <a class="el" href="struct_x_emac_lite___config.html#a5d9cbd0922c7f62a9b2f21b2876c043e">XEmacLite_Config::TxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaf0c3a796e557b59a64a61a9b486a323e">XEmacLite_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gacac27172503eee6a171afe1679c20f2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_DisableInterrupts </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Disables the interrupts from the device (the higher layer software is responsible for disabling interrupts at the interrupt controller). </p>
<p>To start using the device again, _EnableInterrupts must be called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance .</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="group__emaclite__v4__1.html#gae8b93ba79e75324605f0b3f4d760fbdb">XEL_GIER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga7cc4cab2536c294d4e715310fe3fbdf0">XEL_RSR_RECV_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga648d492605893da2556845d8f0cb3dcd">XEL_TSR_XMIT_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga55c4a0b58c4e35dbf81c4866946f368a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_DisableLoopBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Disable Internal loop back functionality. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#ab06e53383d33ab049495ae049dd6ed82">XEmacLite_Config::Loopback</a>, <a class="el" href="group__emaclite__v4__1.html#ga9a758ea7a896175023c52bd55dc36700">XEL_TSR_LOOPBACK_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga28a0b4547f8b9b8eb675123df8ab8907"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_EnableInterrupts </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Enable the EmacLite Interrupts. </p>
<p>This function must be called before other functions to send or receive data in interrupt driven mode. The user should have connected the interrupt handler of the driver to an interrupt source such as an interrupt controller or the processor interrupt prior to this function being called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the device interrupts were enabled successfully.</li>
</ul>
</dd></dl>
<ul>
<li>XST_NO_CALLBACK if the callbacks were not set.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="group__emaclite__v4__1.html#ga98577fb052d9327b2c5ed429d3740b97">StubHandler()</a>, <a class="el" href="group__emaclite__v4__1.html#ga5179e9952743fd9ea3056822ffe0df7d">XEL_GIER_GIE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gae8b93ba79e75324605f0b3f4d760fbdb">XEL_GIER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga7cc4cab2536c294d4e715310fe3fbdf0">XEL_RSR_RECV_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga648d492605893da2556845d8f0cb3dcd">XEL_TSR_XMIT_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga1bd8c7361add009208f4c6778644a83c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_EnableLoopBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Enable Internal loop back functionality. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#ab06e53383d33ab049495ae049dd6ed82">XEmacLite_Config::Loopback</a>, <a class="el" href="group__emaclite__v4__1.html#ga9a758ea7a896175023c52bd55dc36700">XEL_TSR_LOOPBACK_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga45c15f0ba6b3ef9849abfb63e47ea692">XEL_TSR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gae7ced3b39bd2f06d037660e884c0706b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_FlushReceive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Flush the Receive buffers. </p>
<p>All data will be lost.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#ac62308cd76ce383cd4b895d3cb2cc8ed">XEmacLite_Config::RxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga7cc4cab2536c294d4e715310fe3fbdf0">XEL_RSR_RECV_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>.</p>

</div>
</div>
<a class="anchor" id="gaf0c3a796e557b59a64a61a9b486a323e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Initialize a specific <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance/driver. </p>
<p>The initialization entails:</p><ul>
<li>Initialize fields of the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance structure.</li>
</ul>
<p>The driver defaults to polled mode operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">DeviceId</td><td>is the unique id of the device controlled by this <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. Passing in a device id associates the generic <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance to a specific device, as chosen by the caller or application developer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li>
<li>XST_DEVICE_NOT_FOUND/XST_FAILURE if device configuration information was not found for a device with the supplied device ID.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="group__emaclite__v4__1.html#ga24330d0e9ca51b8e9cd097ca4b870e91">XEmacLite_CfgInitialize()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga9cf5dd9f60336f05a30a7684319a2b1e">XEmacLite_LookupConfig()</a>.</p>

</div>
</div>
<a class="anchor" id="ga72db0e7e81077c3ad3947009a5299fdf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_InterruptHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Interrupt handler for the EmacLite driver. </p>
<p>It performs the following processing:</p>
<ul>
<li>Get the interrupt status from the registers to determine the source of the interrupt.<ul>
<li>Call the appropriate handler based on the source of the interrupt.</li>
</ul>
</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>contains a pointer to the EmacLite device instance for the interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga2d037dc424649948806dad6dd9b43430">XEL_TSR_XMIT_ACTIVE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga0a23682af6087a70133d7f4fec504787">XEmacLite_IsRxEmpty</a>, and <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>.</p>

</div>
</div>
<a class="anchor" id="ga9cf5dd9f60336f05a30a7684319a2b1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> * XEmacLite_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Lookup the device configuration based on the unique device ID. </p>
<p>The table XEmacLite_ConfigTable contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the unique device ID of the device being looked up.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration table entry corresponding to the given device ID, or NULL if no match is found.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__emaclite__v4__1.html#gaf0c3a796e557b59a64a61a9b486a323e">XEmacLite_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga444ab091bdc373bf2e1a266d5febecd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_PhyRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>PhyAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RegNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16 *&#160;</td>
          <td class="paramname"><em>PhyDataPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Read the specified PHY register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver. </td></tr>
    <tr><td class="paramname">PhyAddress</td><td>is the address of the PHY device. The valid range is is from 0 to 31. </td></tr>
    <tr><td class="paramname">RegNum</td><td>is the register number in the PHY device which is to be read. The valid range is is from 0 to 31. </td></tr>
    <tr><td class="paramname">PhyDataPtr</td><td>is a pointer to the data in which the data read from the PHY device is returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the data is read from the PHY.</li>
<li>XST_DEVICE_BUSY if MDIO is busy.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function waits for the completion of MDIO data transfer. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#acc01374bac02bda99089de80985a9821">XEmacLite_Config::MdioInclude</a>, <a class="el" href="group__emaclite__v4__1.html#ga393f8f9201b56413c228479a3ea976e5">XEL_MDIO_ADDRESS_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga8dd2a4a8aeb4515fed5c9e2832b69676">XEL_MDIO_ADDRESS_SHIFT</a>, <a class="el" href="group__emaclite__v4__1.html#gacd225e0c171bdd9f2e8fb2ca18fbc34c">XEL_MDIO_OP_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga507cf8cc16828061ef6fea447f5c1e44">XEL_MDIOADDR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga62d3b9b889e7b69c4f216bb7825ee77e">XEL_MDIOCNTR_ENABLE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gab18c59ba42e1b6aeb51a9bcf80f1436e">XEL_MDIOCNTR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4fc563b497e92261fb7f28db720324a6">XEL_MDIOCNTR_STATUS_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga89bf4abeb9407e4c7092c19c9f4b4e7a">XEL_MDIORD_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga63ef92abf534fcf6f41601e93efa4cc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_PhyWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>PhyAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RegNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>PhyData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Write the given data to the specified register in the PHY device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver. </td></tr>
    <tr><td class="paramname">PhyAddress</td><td>is the address of the PHY device. The valid range is is from 0 to 31. </td></tr>
    <tr><td class="paramname">RegNum</td><td>is the register number in the PHY device which is to be written. The valid range is is from 0 to 31. </td></tr>
    <tr><td class="paramname">PhyData</td><td>is the data to be written to the specified register in the PHY device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the data is written to the PHY.</li>
<li>XST_DEVICE_BUSY if MDIO is busy.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function waits for the completion of MDIO data transfer. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#acc01374bac02bda99089de80985a9821">XEmacLite_Config::MdioInclude</a>, <a class="el" href="group__emaclite__v4__1.html#ga393f8f9201b56413c228479a3ea976e5">XEL_MDIO_ADDRESS_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga8dd2a4a8aeb4515fed5c9e2832b69676">XEL_MDIO_ADDRESS_SHIFT</a>, <a class="el" href="group__emaclite__v4__1.html#gacd225e0c171bdd9f2e8fb2ca18fbc34c">XEL_MDIO_OP_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga507cf8cc16828061ef6fea447f5c1e44">XEL_MDIOADDR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga62d3b9b889e7b69c4f216bb7825ee77e">XEL_MDIOCNTR_ENABLE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gab18c59ba42e1b6aeb51a9bcf80f1436e">XEL_MDIOCNTR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4fc563b497e92261fb7f28db720324a6">XEL_MDIOCNTR_STATUS_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga396812830267b25dfdaebd81f95ff00c">XEL_MDIOWR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga6b771b95e193baa02186c6e106c7aefb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XEmacLite_Recv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>FramePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Receive a frame. </p>
<p>Intended to be called from the interrupt context or with a wrapper which waits for the receive frame to be available.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">FramePtr</td><td>is a pointer to a buffer where the frame will be stored. The buffer must be at least XEL_MAX_FRAME_SIZE bytes. For optimal performance, a 32-bit aligned buffer should be used but it is not required, the function will align the data if necessary.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>The type/length field of the frame received. When the type/length field contains the type, XEL_MAX_FRAME_SIZE bytes will be copied out of the buffer and it is up to the higher layers to sort out the frame. Function returns 0 if there is no data waiting in the receive buffer or the pong buffer if configured.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>This function call is not blocking in nature, i.e. it will not wait until a frame arrives. </p>

<p>References <a class="el" href="struct_x_emac_lite___config.html#ac62308cd76ce383cd4b895d3cb2cc8ed">XEmacLite_Config::RxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#gad754bca8cbc8acdf979b885fc3950bac">XEL_ARP_PACKET_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga2bc168ac37d2722b7a7d09dd68f2c2c7">XEL_ETHER_PROTO_TYPE_ARP</a>, <a class="el" href="group__emaclite__v4__1.html#gadd10850a396aefec8cb1b22fff3cd62b">XEL_ETHER_PROTO_TYPE_IP</a>, <a class="el" href="group__emaclite__v4__1.html#ga8a4567a704724d25d4ddbeed59578cc9">XEL_FCS_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga04dcdc4442b4c27ce924d5678a5bf872">XEL_HEADER_IP_LENGTH_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga24da5eeb80edf023bfe5385019770ea7">XEL_HEADER_SHIFT</a>, <a class="el" href="group__emaclite__v4__1.html#gace93038c04a45e17a8be70f058bbf9da">XEL_HEADER_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga0efb69007c897a0f35a57c9e50fdb469">XEL_MAX_FRAME_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga766d628aef5fa10427ea2265dcc40e99">XEL_RPLR_LENGTH_MASK_HI</a>, <a class="el" href="group__emaclite__v4__1.html#ga688796d3e80699fb776e3bde91a8d376">XEL_RPLR_LENGTH_MASK_LO</a>, <a class="el" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">XEL_RSR_RECV_DONE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gae1278a34e211f3868d5043424c9a725a">XEL_RXBUFF_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4c90fdf366af4a8d7c3f4571c504d475">XEmacLite_AlignedRead()</a>, <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga541b8f45d82969dc9b9116420bfdb1c3">XEmacLite_NextReceiveAddr</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>.</p>

</div>
</div>
<a class="anchor" id="gaed49aafa6ebc9a3231ea62a50a5994bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XEmacLite_RecvFrame </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>FramePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8c.html">xemaclite_l.c</a>&gt;</code></p>

<p>Receive a frame. </p>
<p>Wait for a frame to arrive.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">FramePtr</td><td>is a pointer to a buffer where the frame will be stored.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>The type/length field of the frame received. When the type/length field contains the type , XEL_MAX_FRAME_SIZE bytes will be copied out of the buffer and it is up to the higher layers to sort out the frame.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>This function call is blocking in nature, i.e. it will wait until a frame arrives.</p>
<p>If the ping buffer is the source of the data, the argument should be DeviceAddress + XEL_RXBUFF_OFFSET. If the pong buffer is the source of the data, the argument should be DeviceAddress + XEL_RXBUFF_OFFSET + XEL_BUFFER_OFFSET. The function does not take the different buffers into consideration. </p>

<p>References <a class="el" href="group__emaclite__v4__1.html#ga8a4567a704724d25d4ddbeed59578cc9">XEL_FCS_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#gace93038c04a45e17a8be70f058bbf9da">XEL_HEADER_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga0efb69007c897a0f35a57c9e50fdb469">XEL_MAX_FRAME_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga766d628aef5fa10427ea2265dcc40e99">XEL_RPLR_LENGTH_MASK_HI</a>, <a class="el" href="group__emaclite__v4__1.html#ga688796d3e80699fb776e3bde91a8d376">XEL_RPLR_LENGTH_MASK_LO</a>, <a class="el" href="group__emaclite__v4__1.html#ga344295838c9356aa4f264f2e1eedf050">XEL_RPLR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga5a9410492eec5f7865b664f1e4255d7b">XEL_RSR_RECV_DONE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gae1278a34e211f3868d5043424c9a725a">XEL_RXBUFF_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4c90fdf366af4a8d7c3f4571c504d475">XEmacLite_AlignedRead()</a>, <a class="el" href="group__emaclite__v4__1.html#ga19bae7ed135f7a70afb3b35192894d98">XEmacLite_GetRxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga0a23682af6087a70133d7f4fec504787">XEmacLite_IsRxEmpty</a>, <a class="el" href="group__emaclite__v4__1.html#ga1242a868f45e27bd21e802f37ccc56cc">XEmacLite_ReadReg</a>, and <a class="el" href="group__emaclite__v4__1.html#ga837e05318ed150dbf8128e82113565c3">XEmacLite_SetRxStatus</a>.</p>

</div>
</div>
<a class="anchor" id="ga0ea2a0f4e13ef174477a3cf2a9f86e69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Performs a SelfTest on the EmacLite device as follows: </p>
<ul>
<li>Writes to the mandatory TX buffer and reads back to verify.</li>
<li>If configured, writes to the secondary TX buffer and reads back to verify.</li>
<li>Writes to the mandatory RX buffer and reads back to verify.</li>
<li>If configured, writes to the secondary RX buffer and reads back to verify.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance .</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the device Passed the Self Test.<ul>
<li>XST_FAILURE if any of the data read backs fail.</li>
</ul>
</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#ac62308cd76ce383cd4b895d3cb2cc8ed">XEmacLite_Config::RxPingPong</a>, <a class="el" href="struct_x_emac_lite___config.html#a5d9cbd0922c7f62a9b2f21b2876c043e">XEmacLite_Config::TxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#gae1278a34e211f3868d5043424c9a725a">XEL_RXBUFF_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4dbb708d2fea4f6a716bcf9eb0aaad66">XEL_TXBUFF_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga4c90fdf366af4a8d7c3f4571c504d475">XEmacLite_AlignedRead()</a>, and <a class="el" href="group__emaclite__v4__1.html#ga3f5ceceeb7c8a8faf2c835caf10a5125">XEmacLite_AlignedWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa509977aea023dfeef6bddb10b2597dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_Send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>FramePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Send an Ethernet frame. </p>
<p>The ByteCount is the total frame size, including header.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">FramePtr</td><td>is a pointer to frame. For optimal performance, a 32-bit aligned buffer should be used but it is not required, the function will align the data if necessary. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the size, in bytes, of the frame</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if data was transmitted.</li>
<li>XST_FAILURE if buffer(s) was (were) full and no valid data was transmitted.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>This function call is not blocking in nature, i.e. it will not wait until the frame is transmitted. </p>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5b3e76a77d3ce4254efa52fb2aa03012">XEmacLite_Config::BaseAddress</a>, <a class="el" href="struct_x_emac_lite___config.html#a5d9cbd0922c7f62a9b2f21b2876c043e">XEmacLite_Config::TxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#gad1e5b828ffb7ae505719dd4f2f07bf39">XEL_MAX_TX_FRAME_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#ga12db7f4b53a73982fe53fb8b3c2648a9">XEL_TPLR_LENGTH_MASK_HI</a>, <a class="el" href="group__emaclite__v4__1.html#gad57d19d58d348bd0c1d7715bad6a7e98">XEL_TPLR_LENGTH_MASK_LO</a>, <a class="el" href="group__emaclite__v4__1.html#gac1b03025a5b44d67224bbe94e5c3eaa2">XEL_TPLR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga2d037dc424649948806dad6dd9b43430">XEL_TSR_XMIT_ACTIVE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga648d492605893da2556845d8f0cb3dcd">XEL_TSR_XMIT_IE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga3f5ceceeb7c8a8faf2c835caf10a5125">XEmacLite_AlignedWrite()</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga5a02b0090a1bab8c4151fb3154e9fa0f">XEmacLite_NextTransmitAddr</a>, <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga11311f9b348df8ea830c4e0fb2667df7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_SendFrame </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>FramePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__l_8c.html">xemaclite_l.c</a>&gt;</code></p>

<p>Send an Ethernet frame. </p>
<p>The size is the total frame size, including header. This function blocks waiting for the frame to be transmitted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">FramePtr</td><td>is a pointer to frame </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the size, in bytes, of the frame</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>This function call is blocking in nature, i.e. it will wait until the frame is transmitted. This function can hang and not exit if the hardware is not configured properly.</p>
<p>If the ping buffer is the destination of the data, the argument should be DeviceAddress + XEL_TXBUFF_OFFSET. If the pong buffer is the destination of the data, the argument should be DeviceAddress + XEL_TXBUFF_OFFSET + XEL_BUFFER_OFFSET. The function does not take the different buffers into consideration. </p>

<p>References <a class="el" href="group__emaclite__v4__1.html#ga12db7f4b53a73982fe53fb8b3c2648a9">XEL_TPLR_LENGTH_MASK_HI</a>, <a class="el" href="group__emaclite__v4__1.html#gad57d19d58d348bd0c1d7715bad6a7e98">XEL_TPLR_LENGTH_MASK_LO</a>, <a class="el" href="group__emaclite__v4__1.html#gac1b03025a5b44d67224bbe94e5c3eaa2">XEL_TPLR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#ga3f5ceceeb7c8a8faf2c835caf10a5125">XEmacLite_AlignedWrite()</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga8cad275766e931c598f5961d3e8bac47">XEmacLite_IsTxDone</a>, <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf404b645896f5fb74e87b4ada362809"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_SetMacAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>AddressPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Set the MAC address for this device. </p>
<p>The address is a 48-bit value.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">AddressPtr</td><td>is a pointer to a 6-byte MAC address. the format of the MAC address is major octet to minor octet</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<ul>
<li>TX must be idle and RX should be idle for deterministic results. It is recommended that this function should be called after the initialization and before transmission of any packets from the device.</li>
<li>Function will not return if hardware is absent or not functioning properly.</li>
</ul>
<p>The MAC address can be programmed using any of the two transmit buffers (if configured). </p>

<p>References <a class="el" href="group__emaclite__v4__1.html#ga1ccc893b8efdefc7409c03c99c7719a7">XEL_MAC_ADDR_SIZE</a>, <a class="el" href="group__emaclite__v4__1.html#gac1b03025a5b44d67224bbe94e5c3eaa2">XEL_TPLR_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#gae7c6d9dbf7029d564d5eb7c375025485">XEL_TSR_PROG_MAC_ADDR</a>, <a class="el" href="group__emaclite__v4__1.html#ga3f5ceceeb7c8a8faf2c835caf10a5125">XEmacLite_AlignedWrite()</a>, <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>, <a class="el" href="group__emaclite__v4__1.html#ga5a02b0090a1bab8c4151fb3154e9fa0f">XEmacLite_NextTransmitAddr</a>, <a class="el" href="group__emaclite__v4__1.html#gae3bf9219fa76c0f1c10a7ebd4a64d3b8">XEmacLite_SetTxStatus</a>, and <a class="el" href="group__emaclite__v4__1.html#ga96be859f6762b5de8817367548561035">XEmacLite_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga5bacfdd394bc95a6b34dec438bfad8bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_SetRecvHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XEmacLite_Handler&#160;</td>
          <td class="paramname"><em>FuncPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Sets the callback function for handling received frames in interrupt mode. </p>
<p>The upper layer software should call this function during initialization. The callback is called when a frame is received. The callback function should communicate the data to a thread such that the processing is not performed in an interrupt context.</p>
<p>The callback is invoked by the driver within interrupt context, so it needs to do its job quickly. If there are other potentially slow operations within the callback, these should be done at task-level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance.. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is a reference pointer to be passed back to the application in the callback. This helps the application correlate the callback to a particular driver. </td></tr>
    <tr><td class="paramname">FuncPtr</td><td>is the pointer to the callback function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2e48d33c6b41774f4cb37bffc85f59a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XEmacLite_SetSendHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XEmacLite_Handler&#160;</td>
          <td class="paramname"><em>FuncPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8h.html">xemaclite.h</a>&gt;</code></p>

<p>Sets the callback function for handling transmitted frames in interrupt mode. </p>
<p>The upper layer software should call this function during initialization. The callback is called when a frame is transmitted. The callback function should communicate the data to a thread such that the processing is not performed in an interrupt context.</p>
<p>The callback is invoked by the driver within interrupt context, so it needs to do its job quickly. If there are other potentially slow operations within the callback, these should be done at task-level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_emac_lite.html" title="The XEmacLite driver instance data. ">XEmacLite</a> instance. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is a reference pointer to be passed back to the application in the callback. This helps the application correlate the callback to a particular driver. </td></tr>
    <tr><td class="paramname">FuncPtr</td><td>is the pointer to the callback function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3f75e1a5a0b8d0e5e085880919ad693a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XEmacLite_TxBufferAvailable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_emac_lite.html">XEmacLite</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite_8c.html">xemaclite.c</a>&gt;</code></p>

<p>Determine if there is a transmit buffer available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the instance of the driver to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if there is a TX buffer available for data to be written</li>
<li>FALSE if Tx Buffer is not available.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_emac_lite___config.html#a5d9cbd0922c7f62a9b2f21b2876c043e">XEmacLite_Config::TxPingPong</a>, <a class="el" href="group__emaclite__v4__1.html#ga8f89271d7db92918eb1478566e922fce">XEL_BUFFER_OFFSET</a>, <a class="el" href="group__emaclite__v4__1.html#ga2d037dc424649948806dad6dd9b43430">XEL_TSR_XMIT_ACTIVE_MASK</a>, <a class="el" href="group__emaclite__v4__1.html#gabe750109f58b44cdf7c7e505c9d1acdc">XEL_TSR_XMIT_BUSY_MASK</a>, and <a class="el" href="group__emaclite__v4__1.html#gad66fc12c63bb5e0a63289f63fa9d5e41">XEmacLite_GetTxStatus</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gaaabeafc3bef47fc9ab186931e698ca16"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> XEmacLite_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__sinit_8c.html">xemaclite_sinit.c</a>&gt;</code></p>

<p>This table contains configuration information for each EmacLite device in the system. </p>

</div>
</div>
<a class="anchor" id="ga8acbf4c2ed2517bb9c37d2281c4ab14d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> XEmacLite_ConfigTable[XPAR_XEMACLITE_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__g_8c.html">xemaclite_g.c</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">        {</div>
<div class="line">         XPAR_EMACLITE_0_DEVICE_ID,     </div>
<div class="line">         XPAR_EMACLITE_0_BASEADDR,      </div>
<div class="line">         XPAR_EMACLITE_0_TX_PING_PONG,  </div>
<div class="line">         XPAR_EMACLITE_0_RX_PING_PONG,  </div>
<div class="line">         XPAR_EMACLITE_0_INCLUDE_MDIO   </div>
<div class="line">         XPAR_EMACLITE_0_INCLUDE_INTERNAL_LOOPBACK </div>
<div class="line">         }</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>This table contains configuration information for each EmacLite device in the system. </p>

</div>
</div>
<a class="anchor" id="gaaabeafc3bef47fc9ab186931e698ca16"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_emac_lite___config.html">XEmacLite_Config</a> XEmacLite_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xemaclite__i_8h.html">xemaclite_i.h</a>&gt;</code></p>

<p>This table contains configuration information for each EmacLite device in the system. </p>

</div>
</div>
</div><!-- contents -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
